Computer software applications running on a computer at one location may be remotely controlled in various ways. For example, a computer-based slide presentation may be presented to multiple computer users at multiple locations by a presenter who is at yet another location by establishing a telephone conference between the presenter and each of the computer users participating in the slide presentation. In one scenario, the slide presentation is distributed to each of the participating computer users in advance of the presentation. When the presentation begins, each participating computer user displays the slide presentation by executing slide presentation software on the user's compute. The presenter then tells the participants when to activate presentation features, such as when to click on slide objects to activate presentation effects, or when to advance to the next slide. Unfortunately, such presentations are difficult to synchronize, as the participants typically do not respond to the presenter's instructions at the same moment, which may affect the timing of the presenter relative to the timing of each participant's slide presentation, and the quality of the presentation as a result. Furthermore, this solution presumes that all participants use the same slide presentation software, and does not address the situation where one participant uses slide presentation software while another participant uses software to view a PDF file of the same slide presentation. In another scenario, the slide presentation is not distributed to each of the participating computer users. Rather, whatever appears on the presenter's computer display is transmitted to each participant's computer and duplicated on each participant's computer display. Unfortunately, the high-bandwidth nature of this solution also suffers from synchronization problems due to differences in bandwidth among the participants. Participants also typically cannot control the duplicated display, such as by changing the size of an application window. Furthermore, as the display data is transferred over the network, controls must be implemented to prevent unauthorized individuals from accessing and viewing the data.